home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1993-08-22 | 4.7 KB | 198 lines |
- >!RunImage
- " at line ";
- quit%=
- "Wimp_CloseDown"
- "OS_Module",7,,spritea%
- "XOS_ChangeDynamicArea",1,-2097152
- block% 1000, ind% 1000, ind2% 1000, menu% 100, name% 11, indi% 255
- bufff% 20, bufff2% 20
- "Wimp_Initialise",200,&4B534154,"!Spr-Rev"
- ,taskid%
- "OS_Module",6,,,1
- ,,spritea%
- bar_icon
- templates
- menus
- quit%=
- "Wimp_Poll",0,block%
- res%
- res%
- 1,2 :
- "Wimp_OpenWindow",,block%
- 3 :
- "Wimp_CloseWindow",,block%
- 6 :
- click
- 7 :
- startsave
- 8 :
- 9 :
- !block%=1
- quit%=
- 17,18 :
- message
- 19 :
- bar_icon
- !block%=-1:block%!4=0
- block%!8=0:block%!12=68
- ( block%!16=68:block%!20=&3002
- $(block%+24)="!spr-rev"
- "Wimp_CreateIcon",,block%
- bar%
- templates
- "Wimp_OpenTemplate",,"<Spr-Rev$Dir>.Templates"
- $name%="ProgInfo"
- "Wimp_LoadTemplate",,block%,ind%,ind%+1000,-1,name%,0
- "Wimp_CreateWindow",,block%
- infobox%
- $name%="xfer_Send"
- "Wimp_LoadTemplate",,block%,ind2%,ind2%+1000,-1,name%,0
- "Wimp_CreateWindow",,block%
- savebo%
- "Wimp_CloseTemplate"
- !block%=savebo%:block%!4=1
- "Wimp_GetIconState",,block%
- indi%=block%!28
- menus
- $menu%="!Spr-Rev"
- =/menu%!12=7:menu%?13=2:menu%?14=7:menu%?15=0
- >&menu%!16=80:menu%!20=44:menu%!24=0
- ?Emenu%!28=0:menu%!32=infobox%:menu%!36=&7000021:$(menu%+40)="Info"
- @@menu%!52=&80:menu%!56=0:menu%!60=&7000021:$(menu%+64)="Quit"
- str(ptr%)
- str$
- ?ptr%<>0
- str$+=
- (?ptr%):ptr%+=1
- H =str$
- error(err$)
- K#!block%=255:$(block%+4)=err$+
- "Wimp_ReportError",block%,1,"!Spr-Rev"
- block%!24=13
- !block%=savebo% :
- quick
- "Wimp_ProcessKey",block%!24
- click
- block%!12
- -2 :
- block%!8=2
- "Wimp_CreateMenu",,menu%,!block%-64,184
- savebo% :
- block%!16
- Z1
- 0 :
- block%!8=64
- dragbox
- [.
- 2 :
- block%!8=4
- quick
-
- message
- block%!16
- 0 : quit%=
- 2 :
- data_save
- 3 :
- load_file(block%!40,
- str(block%+44))
- load_file(type%,file$)
- type%<>&FF9
- type%<>&0F9
- error("!Spr-Rev can only handle Sprites and RevPics."):
- type%=&FF9
- ntype%=&0F9
- ntype%=&FF9
- type%=&FF9
- type$="Sfile_0F9"
- type$="Sfile_FF9"
- "OS_File",&05,file$
- ,,,,len%
- !block%=savebo%:block%!4=0
- "Wimp_GetIconState",,block%
- ~ntype%="F9"
- fbox$="Sfile_0f9"
- fbox$="Sfile_ff9"
- $(block%!32)=type$
- !block%=savebo%
- "Wimp_GetWindowState",,block%
- "Wimp_OpenWindow",,block%
- oldfile$=file$
- quick
- !block%=savebo%:block%!4=1
- "Wimp_GetIconState",,block%
- file$=$indi%
- file$,".")
- saveit(file$)
- error("To save, drag the icon to a directory viewer"):q%=
- close
- startsave
- !block%=savebo%:block%!4=1
- "Wimp_GetIconState",,block%
- file$=$(block%!28)
- "Wimp_GetPointerInfo",,block%
- +block%!20=block%!12:block%!24=block%!16
- (block%!28=!block%:block%!32=block%!4
- block%!36=len%
- !block%=64:block%!12=0
- block%!16=1:block%!40=ntype%
- !$(block%+44)=
- get_leaf(file$)
- "Wimp_SendMessage",18,block%,block%!20,block%!24
- get_leaf(f$)
- f$,".")
- f$,".")+1)
- saveit(file$)
- load_sprites
- "OS_SpriteOp",&10D,spritea%,bufff%,20,1
- spp$=
- str(bufff%)
- $bufff2%="revsprite"
- "OS_SpriteOp",&11A,spritea%,bufff%,bufff2%
- "OS_SpriteOp",&10C,spritea%,file$
- "OS_File",&12,file$,ntype%
- "OS_Module",7,,spritea%
- "OS_Module",6,,,1
- ,,spritea%
- "XOS_ChangeDynamicArea",1,-2097152
- load_sprites
- file%,size%
- file%=
- oldfile$
- size%=
- #file%+16:
- #file%
- "OS_Module",7,,spritea%
- "OS_Module",6,,,size%
- ,,spritea%
- !!spritea%=size%:spritea%!8=16
- "OS_SpriteOp",&109,spritea%
- "OS_SpriteOp",&10A,spritea%,oldfile$
- =spritea%
- dragbox
- !block%=savebo%
- "Wimp_GetWindowState",,block%
- ox%=block%!4-block%!20
- oy%=block%!16-block%!24
- block%!4=0
- "Wimp_GetIconState",,block%
- $block%!4=5:block%!8=ox%+block%!8
- block%!12=oy%+block%!12
- block%!16=ox%+block%!16
- block%!20=oy%+block%!20
- block%!24=0:block%!28=0
- block%!32=&7FFFFFFF
- block%!36=&7FFFFFFF
- "Wimp_DragBox",,block%
- data_save
- $indi%=
- str(block%+44)
- saveit($indi%)
- block%!12=block%!8
- block%!16=3:!block%=256
- "Wimp_SendMessage",18,block%,block%!20,block%!24
- close
- close
- !block%=savebo%
- "Wimp_CloseWindow",,block%
-